webpackJsonp([1], {
    0 : function(t, e, n) {
        "use strict";
        function i(t) {
            return t && t.__esModule ? t: {
            default:
                t
            }
        }
        var a = n(6),
        r = i(a),
        o = n(37),
        s = (i(o), n(18)),
        l = (n(198), n(196)),
        c = i(l),
        u = n(64),
        p = i(u),
        d = n(195),
        f = n(193),
        h = i(f),
        m = s.utils.localStorage,
        v = ((0, r.
    default)("#sideNav"), new c.
    default({})); (0, h.
    default)({
            element:
            (0, r.
        default)("div.list-content ul"),
            maxPage: 5,
            callback: function() {
                v.init()
            }
        });
        var g = function(t) {
            r.
        default.getScript("http://cdn.bootcss.com/clipboard.js/1.5.10/clipboard.js").done(function() {
                var e = void 0,
                n = new Clipboard(t, {
                    target: function(t) {
                        return e = t,
                        (0, r.
                    default)(t).prev()[0]
                    }
                }),
                i = function(t) {
                    e.innerHTML = "复制成功",
                    (0, r.
                default)(e).addClass("copyed"),
                    t.clearSelection()
                },
                a = function(t) {
                    e.innerHTML = "请手动复制",
                    (0, r.
                default)(e).addClass("copyed"),
                    console.error("Action:", t.action),
                    console.error("Trigger:", t.trigger)
                };
                n.on("success",
                function(t) {
                    t.text ? i(t) : a(t)
                }),
                n.on("error", a)
            })
        },
        y = (0, r.
    default)(".header"),
        b = (0, r.
    default)(window),
        w = (0, r.
    default)("body"),
        x = void 0,
        E = y.find("input.search"),
        C = E.val() || "";
        E.focus(function(t) {
            x = b.scrollTop(),
            j.hide(),
            w.addClass("is-search"),
            b.scrollTop(0)
        }),
        y.find("span.close").click(function(t) {
            w.removeClass("is-search"),
            b.scrollTop(x),
            E.val(C)
        }),
        y.find("span.clear").click(function(t) {
            E.val("")
        });
        var k = (0, r.
    default)("div.screen-nav"),
        j = (0, r.
    default)("div.body-mask");
        k.find("div.nav-item").click(function() {
            var t = (0, r.
        default)(this);
            t.siblings().find("div.item-menu").hide();
            var e = t.find("div.item-menu");
            e.toggle(),
            e.is(":visible") ? j.show() : j.hide()
        }),
        k.find("div.item-menu").click(function(t) {
            return t.stopPropagation()
        }),
        j.click(function(t) {
            j.hide(),
            k.find("div.item-menu").hide()
        });
        var N = d.Form.getByHandle("filterForm");
        N && N.onSubmit(function(t) {
            var e = N.refs.wrap,
            n = e.action;
            location.href = n + "&" + (0, r.
        default)(e).serialize(),
            t.preventDefault()
        });
        var D = (0, r.
    default)(".v-code");
        D.click(function(t) {
            return p.
        default.alert({
                title:
                "我的客服微信二维码",
                template: s.React.createElement("div", {
                    style: {
                        width: 300,
                        height: 300,
                        textAlign: "center"
                    }
                },
                s.React.createElement("img", {
                    src: D.data("image"),
                    style: {
                        maxWidth: 300,
                        maxHeight: 300
                    },
                    alt: ""
                })),
                buttons: null
            })
        });
        var T = navigator.userAgent.toLowerCase(),
        S = "iphone" == T.match(/iphone/i) || "ipad" == T.match(/ipad/i),
        M = function() {
            var t = (0, r.
        default)("#indexPopup"),
            e = t.html(),
            n = (0, r.
        default)(e),
            i = n.filter('[name="currentName"]').val(),
            a = n.filter('[name="prevName"]').val(),
            o = n.filter('[name="link"]').val();
            m.remove(a);
            var l = m.get(i);
            if (!l) {
                var c = "index-pop-" + i,
                u = t.data("media");
                e += "wx" == u ? '<div class="token" style="opacity:0;position:absolute">' + o + "</div>": '<a href="' + o + '" target="_blank" class="link"></a>';
                var d = p.
            default.create({
                    name:
                    "index-pop " + c,
                    template: e
                }).onHide(function(t) {
                    m.set(i, 1)
                });
                d.setDisplay(!0);
                var f = (0, r.
            default)(s.ReactDOM.findDOMNode(d)).find("._body");
                "wx" == u && f.click(function(t) {
                    t.preventDefault();
                    var e = f.find('input[name="link"]').val();
                    e && (d.setDisplay(!1), p.
                default.alert({
                        title:
                        "淘口令购买",
                        buttons: [],
                        name: "copy-token popup-alert popup-tip",
                        template: s.React.createElement("div", {
                            className: "tip-area tip-warn"
                        },
                        s.React.createElement("div", {
                            className: "mb10",
                            style: {
                                lineHeight: 3
                            }
                        }), s.React.createElement("div", {
                            className: "token-area"
                        },
                        s.React.createElement("span", {
                            className: "lab"
                        },
                        S ? "长按框内复制": "长按框内 > 全选 > 复制"), S ? s.React.createElement("div", {
                            className: "token"
                        },
                        "　", e, "　") : s.React.createElement("textarea", {
                            className: "token"
                        },
                        e)), S ? s.React.createElement("div", {
                            className: "copy-btn"
                        },
                        s.React.createElement("div", {
                            className: "_token"
                        },
                        e), s.React.createElement("button", {
                            className: "nj-button"
                        },
                        "一键复制")) : null, s.React.createElement("div", {
                            className: "foot"
                        },
                        "复制后打开【手机淘宝】即可领券下单，没有手机淘宝的可以点直达链接哟"))
                    }), g(".copy-token button"))
                })
            }
        };
        document.getElementById("indexPopup") && M()
    },
    37 : function(t, e, n) {
        "use strict";
        var i = n(12),
        a = i.React,
        r = i.ReactDOM,
        o = i.utils,
        s = a.createClass({
            displayName: "Mask",
            mixins: [i.mixins.setDisplay],
            getDefaultProps: function() {
                return {
                    effect: "fade"
                }
            },
            statics: function() {
                var t, e;
                return {
                    show: function(n) {
                        e = e || i.utils.createContainer("nj-mask ng-layer-wrap"),
                        this.mask = t = r.render(a.createElement(s, null), e),
                        t.setState({
                            name: n
                        }),
                        t.setDisplay(!0)
                    },
                    hide: function() {
                        t && (t.setDisplay(!1), t.setState({
                            name: ""
                        }))
                    }
                }
            } (),
            render: function() {
                var t = this.state,
                e = t.name,
                n = t.className;
                return a.createElement("div", {
                    ref: "layer",
                    className: o.joinClass(e, n)
                })
            }
        });
        t.exports = s
    },
    64 : function(t, e, n) {
        "use strict";
        var i = n(12),
        a = n(6),
        r = n(63),
        o = n(37),
        s = i.React,
        l = i.ReactDOM,
        c = i.mixins,
        u = [],
        p = [],
        d = function(t) {
            t && (p.indexOf(t) < 0 && p.push(t), p.forEach(function(e) {
                e.setState({
                    isFocus: e === t
                })
            }))
        },
        f = function t() {
            t.init || (t.init = 1, a(document).on("keydown",
            function(t) {
                if (27 == t.keyCode) {
                    var e = p.slice( - 1)[0];
                    e && e.props.bindEsc && e.setDisplay(!1)
                }
            }))
        },
        h = {
            create: function(t) {
                t = t || {};
                var e = l.render(s.createElement(m, t), i.utils.createContainer("nj-popup-container ng-layer-wrap"));
                return f(),
                u.push(e),
                e
            },
            destory: function(t) {
                u.forEach(function(e, n) {
                    e === t && (u.splice(n, 1), document.body.removeChild(l.findDOMNode(e).parentNode))
                })
            },
            alert: function(t) {
                t = Object.assign({
                    title: "提示：",
                    name: "popup-alert popup-tip",
                    bindEsc: !1,
                    buttons: [{
                        text: "确定",
                        className: "nj-button nj-button-red",
                        handle: function(t) {
                            return ! 0
                        }
                    }]
                },
                t);
                var e = m.create(t);
                return e.onHide(function() {
                    m.destory(this)
                }),
                window.setTimeout(function() {
                    e.setDisplay(!0)
                },
                1),
                e
            },
            confirm: function(t) {
                t = Object.assign({
                    title: "提示：",
                    showClose: !1,
                    name: "popup-confirm popup-tip",
                    buttons: [{
                        text: "确定",
                        className: "nj-button nj-button-red",
                        handle: function(t) {
                            return ! 0
                        }
                    },
                    {
                        text: "取消",
                        className: "nj-button"
                    }]
                },
                t),
                t.template = s.createElement("div", null, s.createElement("span", {
                    className: "nj-icon nj-icon-warn"
                }), s.createElement("div", {
                    className: "_content"
                },
                t.template));
                var e = m.create(t);
                return e.onHide(function() {
                    m.destory(this)
                }),
                e.setDisplay(!0),
                e
            },
            tip: function() {
                return {
                    show: function(t, e, n) {
                        n = n || {},
                        m.tip.hide();
                        var i = "undefined" != typeof n.timer ? n.timer: 1500;
                        "loading" == t ? e = e || "loading……": i && setTimeout(function() {
                            a.setDisplay(!1)
                        },
                        i);
                        var a = m.tip.handle = m.alert({
                            title: "",
                            template: s.createElement("div", {
                                className: "tip-area tip-" + t
                            },
                            s.createElement("i", {
                                className: "nj-icon nj-icon-" + t
                            }), s.createElement("span", {
                                className: "tip-text"
                            },
                            e)),
                            showMask: !1,
                            buttons: null
                        }),
                        r = n.reload;
                        r && a.onShow(function() {
                            window.setTimeout(function() {
                                "string" == typeof r ? window.location.href = r: window.location.reload()
                            },
                            1500)
                        })
                    },
                    hide: function() {
                        var t = m.tip.handle;
                        t && t.setDisplay(!1)
                    }
                }
            } ()
        },
        m = s.createClass({
            displayName: "Popup",
            mixins: [r, c.setDisplay, s.addons.LinkedStateMixin],
            statics: h,
            getDefaultProps: function() {
                return {
                    effect: "drop",
                    showMask: !0,
                    bindEsc: !0
                }
            },
            getInitialState: function() {
                return {
                    buttons: this.props.buttons || [],
                    title: this.props.title || "",
                    template: this.props.template
                }
            },
            componentWillMount: function() {
                this.thenEvent = i.utils.addEventQueue.call(this, "then")
            },
            componentDidMount: function() {
                this.setAlign({
                    nearby: window,
                    element: l.findDOMNode(this)
                }),
                this.onShow(function() {
                    this.props.showMask && o.show(),
                    d(this),
                    this.align.set()
                }).onHide(function() {
                    var t = this;
                    p.pop();
                    var e;
                    p.forEach(function(n) {
                        n.props.showMask && n !== t && (e = n)
                    }),
                    this.props.showMask && !e && o.hide(),
                    this.setState({
                        isFocus: null
                    }),
                    d(p.slice( - 1)[0]),
                    this.thenEvent.complete(this.res)
                })
            },
            componentWillUnmount: function() {
                console.log(this)
            },
            buttonHandle: function(t, e) {
                this.res = t && t.call(this, e);
                e.isDefaultPrevented() || this.setDisplay(!1)
            },
            cancel: function() {
                this.res = !1,
                this.setDisplay(!1)
            },
            render: function() {
                var t = this.state.template;
                t = "function" == typeof t ? t.call(this) : t;
                var e = s.createElement("div", {
                    className: "_body",
                    ref: "body"
                },
                t);
                "string" == typeof t && (e = s.createElement("div", {
                    className: "_body",
                    ref: "body",
                    dangerouslySetInnerHTML: {
                        __html: t
                    }
                }));
                var n = i.utils.joinClass("nj-popup", this.state.className, this.state.isFocus && "popup-active", this.props.name),
                a = this.state.buttons;
                return s.createElement("div", {
                    className: n
                },
                s.createElement("div", {
                    className: "_close",
                    onClick: this.cancel
                }), s.createElement("div", {
                    className: "_head"
                },
                this.state.title), e, s.createElement("div", {
                    className: a.length ? "_foot": "d_hide"
                },
                a.map(function(t, e) {
                    var n = t.className;
                    return n || (n = "nj-button ", n += 0 == e ? "nj-button-red": "nj-button-default"),
                    s.createElement("button", {
                        key: e,
                        type: "button",
                        className: n,
                        onClick: this.buttonHandle.bind(this, t.handle)
                    },
                    t.text)
                }.bind(this))))
            }
        });
        t.exports = m
    },
    101 : function(t, e, n) {
        "use strict";
        function i(t) {
            return t && t.__esModule ? t: {
            default:
                t
            }
        }
        function a(t) {
            for (var e in t)"" === t[e] && "defaultValue" != e && (t[e] = e);
            return t
        }
        function r(t) {
            return t.replace("nj-", "").replace(/^(\w)/,
            function(t, e, n) {
                return e.toUpperCase()
            }).replace(/-(\w)/,
            function(t, e, n) {
                return e.toUpperCase()
            })
        }
        Object.defineProperty(e, "__esModule", {
            value: !0
        });
        var o = n(18),
        s = i(o),
        l = n(6),
        c = i(l),
        u = s.
    default.React,
        p = s.
    default.ReactDOM,
        d = "start-id",
        f = function(t) {
            var e = this;
            this.options = t || {};
            var n, i = this.options,
            a = i.exports,
            o = i.elementGroups;
            for (var s in o) {
                var l = a[r(s)] = o[s].component;
                n || (this.rootComponent = n = l, this.rootDirective = s),
                l.getByHandle = function(t) {
                    return function(e) {
                        for (var n = t.instances.length,
                        i = n - 1; i >= 0; i--) {
                            var a = t.instances[i].handle;
                            if (a.props.handle == e) return a
                        }
                    }
                } (l)
            }
            n.start = this.start.bind(this),
            n.startOne = function(t, n, i) {
                var a = (i || document.body).querySelector("[" + d + '="' + t + '"]');
                if (a) return a.removeAttribute(d),
                e.initial(a, e.rootDirective, null, 0, n)
            },
            (0, c.
        default)(function() {
                return e.start()
            })
        };
        f.prototype = {
            start: function(t) {
                this.directiveInit(this.rootDirective, t || document.body)
            },
            directiveInit: function(t, e, n) {
                var i = this;
                if (e) {
                    var a = [],
                    r = s.
                default.utils.toArray(e.getElementsByTagName("nj-" + t));
                    return r.forEach(function(e, r) {
                        var o = i.initial(e, t, n, r);
                        o && a.push(o)
                    }),
                    a
                }
            },
            initial: function(t, e, n, i, r) {
                var o = this.options.elementGroups[e],
                l = o.component;
                if (l) {
                    var c = a(s.
                default.utils.getAttributes(t)),
                    f = c[d];
                    if (f) return;
                    var h = document.createElement("span");
                    t.parentNode.insertBefore(h, t),
                    t.parentNode.removeChild(t),
                    Object.assign(c, r),
                    c._childNodes = s.
                default.utils.toArray(t.childNodes),
                    c._componentType = e,
                    c.text = c.text || t.innerText,
                    c.index = i || 0;
                    var m = this.options.elementGroups[e],
                    v = m.children || [];
                    return c._childNodes.length && o.wrapItem && (c.children = [], c._children = c._childNodes.filter(function(t) {
                        if (1 == t.nodeType) {
                            var e = t.nodeName.toLowerCase().replace(/^nj-/, "");
                            return v.indexOf(e) < 0 && c.children.push(""),
                            !0
                        }
                    })),
                    n && (c.parentComponent = n),
                    p.render(u.createElement(l, c), h)
                }
            },
            getChildComponents: function(t) {
                var e = this,
                n = t.props,
                i = n._childNodes,
                a = n._componentType,
                r = n._children;
                if (a) {
                    var o = this.options.wrap;
                    o = "function" == typeof o ? o(t) : t.refs.wrap || p.findDOMNode(t);
                    var s = this.options.elementGroups[a],
                    l = s.children,
                    c = s.wrapItem,
                    u = i || []; (c ? r: u).forEach(function(e, n) {
                        var i = o;
                        "function" == typeof c && (i = c(t, e, n)),
                        i && i.appendChild(e)
                    });
                    var d = [];
                    l && l.forEach(function(n) {
                        var i = e.directiveInit(n, p.findDOMNode(t), t);
                        d = d.concat(i)
                    }),
                    t.state.childComponents = d;
                    for (var f = t.constructor.instances,
                    h = 0,
                    m = f.length; h < m; h++) if (f[h].handle === t) {
                        Array.prototype.push.apply(f[h].components, d);
                        break
                    }
                }
            }
        },
        e.
    default = f
    },
    102 : function(t, e, n) {
        var i = n(105);
        "string" == typeof i && (i = [[t.id, i, ""]]);
        n(65)(i, {
            insertAt: "top"
        });
        i.locals && (t.exports = i.locals)
    },
    105 : function(t, e, n) {
        e = t.exports = n(38)(),
        e.push([t.id, ".nj-form li.item{padding:0 15px 15px 0;clear:both}.nj-form .fields{margin-left:97px}.nj-form .short-text,.nj-form .text{border:1px solid #ccc;height:15px;line-height:15px;padding:4px 5px;width:200px;background:#fff;margin-right:7px;display:inline-block}.nj-form .short-text{width:90px}.nj-form .short-text:focus,.nj-form .text:focus{box-shadow:0 0 7px #9ddeef;border-color:#3abdd7}.nj-form textarea.text{vertical-align:top}.nj-form textarea.text[rows]{height:auto}.nj-form textarea.text[cols]{width:auto}.nj-form .lab{float:left;margin-right:7px;width:90px;text-align:right;line-height:25px;white-space:nowrap}.nj-form .lab i{color:#f06;margin-right:7px}.nj-form .date{display:inline-block;vertical-align:top}.nj-form .date .text{width:90px;background-color:transparent}.nj-button[disabled],.nj-form .disabled,button[disabled],input[disabled]{box-shadow:none;background:#e5e5e5!important;color:#999!important;cursor:default}.nj-form select.text{width:auto;height:auto}.nj-form .text-block{width:100%;box-sizing:border-box;height:25px}.nj-form .text-flat{border-color:transparent!important;box-shadow:none!important}body .nj-form .input-ok{border-color:#00b700}body .nj-form .input-pending{border-color:#f90}body .nj-form .input-error{border-color:red}.nj-form-msg-ok:before{content:'\\E606';color:#00be00;font:1.3333em njicon}.nj-form-msg-error:before{content:'\\E60A';color:red;font:1.3333em njicon}.nj-form-msg-error{color:red}.nj-form-msg-pending:before{content:'\\E604';animation:njRotate 1s linear infinite;font:16px njicon;display:inline-block;margin-right:6px}.nj-form-msg-pending{color:#f90}", ""])
    },
    193 : function(t, e, n) {
        "use strict";
        function i(t) {
            return t && t.__esModule ? t: {
            default:
                t
            }
        }
        var a = n(6),
        r = i(a);
        t.exports = function(t) {
            function e() {
                if (!l) {
                    if (f > b - 1) return void a();
                    c = h.scrollTop(),
                    p = s.outerHeight(),
                    c + h.height() + v > u + p && n()
                }
            }
            function n() {
                y.scroll = ++f,
                l = 1,
                m.insertAfter(s);
                var t = d.find("span.current").next("a");
                return t.length ? (g = t[0].href, void r.
            default.getJSON(g, {
                    isajax: 1
                },
                function(t) {
                    1 == t.status && (t.data ? i(t.data) : a())
                })) : void a()
            }
            function i(e) {
                s.append(e.html),
                d.html(e.page),
                m.remove(),
                l = null,
                t.callback && t.callback()
            }
            function a() {
                h.off("scroll.list"),
                m.remove(),
                y.scroll = f = 1,
                l = null,
                t.end && t.end(y)
            }
            function o() {
                y.scroll = f = 1,
                h.on("scroll.list", e)
            }
            t = t || {};
            var s = t.element;
            if (s && s.length) {
                var l, c, u = s.offset().top,
                p = s.outerHeight(),
                d = s.parent().find("div.pagination-warp"),
                f = 1,
                h = (0, r.
            default)(window),
                m = (0, r.
            default)('<div class="page-loading"><i class="nj-icon nj-icon-loading"></i>正在加载数据，请稍候……</div>'),
                v = "number" == typeof t.offset ? option.offset: 100,
                g = location.href,
                y = {
                    scroll: 1
                },
                b = t.maxPage || 3;
                return o(),
                y.reset = o,
                s.data("autoLoad", y),
                y
            }
        }
    },
    195 : function(t, e, n) {
        "use strict";
        var i = Object.assign ||
        function(t) {
            for (var e = 1; e < arguments.length; e++) {
                var n = arguments[e];
                for (var i in n) Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i])
            }
            return t
        };
        n(102);
        var a = n(12),
        r = a.React,
        o = a.ReactDOM,
        s = a.mixins,
        l = n(6),
        c = n(101).
    default,
        u = {},
        p = function() {
            var t = this.props,
            e = t.type,
            n = [];
            y[e] && n.push({
                key: "type",
                name: e,
                target: t.type,
                fn: y[e]
            });
            for (var i in t) {
                var a = i.replace(/^nj-/, ""),
                r = y[i] || y[a];
                r && (y[i] && (a = i), n["required" == i ? "unshift": "push"]({
                    key: i,
                    name: a,
                    target: t[i],
                    fn: r
                }))
            }
            return ("input-group" == e && t["nj-minlength"] || t.required) && (n.required = !0),
            n
        },
        d = {
            setValid: function(t, e) {
                this.setState(Object.assign(e || {},
                {
                    valid: t,
                    status: t ? "ok": "error"
                })),
                this.verifyEvent.complete(t)
            }
        },
        f = function(t) {
            var e = !0;
            return this.state.childComponents.forEach(function(n) {
                if (n.verify) {
                    var i = n.verify(t, !0);
                    i || (e = i)
                }
            }),
            this.setState({
                valid: e
            }),
            e
        },
        h = function(t, e) {
            if (this.state.validing || "ok" == this.state.status & this.state.valid) return this.state.valid;
            var n = this.state.value;
            t = t !== !1 && (t || !0),
            this.state.validing = !0,
            this.state.status = "ok";
            for (var i = !0,
            a = this.state.rules,
            r = l(o.findDOMNode(this)), s = r.is(":visible"), c = 0, u = a.length; c < u; c++) {
                var p = a[c];
                if (i = !s || p.fn.call(this, n, p.target), !i || "pending" == i) {
                    this.state.novalidName = p.name;
                    break
                }
            }
            a.required || n || (i = !0),
            i && "input-group" == this.props.type && (i = this.state.valid_all);
            var d = "pending" == i;
            this.state.status = d ? "pending": i ? "ok": "error",
            this.state.valid = i = !d && i;
            var f = this.state.parentComponent;
            return f && !e && f.verify("form" != f.props.type),
            this.state.validing = null,
            t && this.setState({
                valid: i
            }),
            i
        },
        m = u.form = r.createClass({
            mixins: [s.childComponents.config],
            getDefaultProps: function() {
                return {
                    type: "form",
                    method: "get",
                    showicon: "error",
                    noValidate: !0
                }
            },
            handleSubmit: function(t) {
                var e = this;
                if (t = t || window.event, this.state.action = "submit", window.setTimeout(function() {
                    e.state.action = null
                },
                1), this.submitBeforeEvent.complete(t), !t.isDefaultPrevented()) {
                    var n = this.verify();
                    return console.log(0, n),
                    n ? void this.submitEvent.complete(t) : void t.preventDefault()
                }
            },
            submit: function(t) {
                var e = this.refs.wrap,
                n = !1;
                if (e.fireEvent) n = e.fireEvent("onsubmit");
                else if (document.createEvent) {
                    var i = document.createEvent("HTMLEvents");
                    i.initEvent("submit", !1, !0),
                    n = e.dispatchEvent(i)
                }
                return n && e.submit(),
                this.state.valid
            },
            reset: function() {
                this.state.childComponents.forEach(function(t) {
                    t.setState({
                        value: "",
                        status: null
                    })
                })
            },
            componentDidMount: function() {
                w.getChildComponents(this),
                this.submitBeforeEvent = a.utils.addEventQueue.call(this, "onSubmitBefore"),
                this.submitEvent = a.utils.addEventQueue.call(this, "onSubmit"),
                this.verifyEvent = a.utils.addEventQueue.call(this, "onVerify"),
                this.state.verfiyCode = m.verifyCode();
                var t = this.props.parentComponent;
                t && this.onVerify(function(e) {
                    t.setState({
                        valid: e
                    })
                })
            },
            verify: function(t) {
                var e = f.call(this, t);
                return this.verifyEvent.complete(e),
                e
            },
            render: function() {
                return r.createElement("form", i({},
                this.props, {
                    ref: "wrap",
                    onSubmit: this.handleSubmit
                }), this.props.children)
            }
        });
        u["input-group"] = r.createClass({
            mixins: [s.childComponents.setParents([u.form])],
            getInitialState: function() {
                return {
                    valid: !0,
                    dirty: !1,
                    rules: p.call(this)
                }
            },
            getDefaultProps: function(t) {
                return {
                    type: "input-group",
                    showicon: "error"
                }
            },
            componentDidMount: function() {
                s.childComponents.getParentComponent.call(this),
                w.getChildComponents(this)
            },
            verify: function(t, e) {
                if (this.state.validing) return this.state.valid;
                var n, i, a = [];
                this.state.childComponents.forEach(function(t) {
                    t.state.valid ? t.state.value && a.push(t) : i = !0
                }),
                this.state.valid_all = !i,
                this.state.value = a.length ? a: null;
                var n = h.call(this, t, e);
                return n
            },
            render: function() {
                return r.createElement("span", null, r.createElement("span", {
                    className: "nj-input-group",
                    ref: "wrap"
                },
                this.props.children), r.createElement(g, {
                    field: this
                }))
            }
        }),
        u.input = r.createClass({
            mixins: [d, s.childComponents.setParents([u["input-group"], u.form])],
            getInitialState: function() {
                return {
                    dirty: !1,
                    valid: !0,
                    rules: p.call(this),
                    value: this.props.defaultValue || this.props.value || ""
                }
            },
            getDefaultProps: function() {
                return {
                    type: "text",
                    trigger: "keyup"
                }
            },
            verify: function(t, e) {
                if (this.state.validing || /ok|pending/.test(this.state.status) && this.state.valid) return this.state.valid;
                var n = this.state.parentComponent;
                n && n.setState({
                    dirty: !0
                });
                var i = h.call(this, t, e);
                return this.verifyEvent.complete(i),
                i
            },
            componentDidMount: function() {
                s.childComponents.getParentComponent.call(this),
                this.verifyEvent = a.utils.addEventQueue.call(this, "onVerify"),
                this.refs.input.$handle = this
            },
            componentWillReceiveProps: function(t) {
                var e = t.value;
                void 0 !== e && this.state.value !== e && (this.state.value = t.value, this.valueLink().requestChange())
            },
            valueLink: function t() {
                var e = this,
                n = this.props.onChange,
                i = (this.props.value, this.props),
                a = i.type,
                r = i.trigger,
                t = this.state.valueLink = {
                    value: this.state.value,
                    requestChange: function(t) {
                        var i;
                        i = "boolean" == typeof t ? t: t ? t.target.value: e.state.value;
                        v.test(a);
                        t && n && n(t),
                        e.state.value = i,
                        e.state.status = null,
                        e.setState({
                            value: i,
                            dirty: !0
                        });
                        var o = e.state.parentComponent;
                        o && (o.state.status = null, o.state.dirty = !0),
                        "blur" != r && e.verify(!1)
                    }
                };
                return t
            },
            render: function() {
                var t = this,
                e = this.props,
                n = e.type,
                i = this.state,
                o = i.rules,
                s = i.dirty,
                l = i.status,
                c = i.value,
                u = i.parentComponent,
                p = {
                    keyup: "onKeyUp",
                    blur: "onBlur"
                } [this.props.trigger || u.props.trigger],
                d = Object.assign({},
                e, {
                    ref: "input"
                });
                if ("checkbox" == n || "radio" == n) d.checkedLink = this.valueLink();
                else {
                    var f;
                    o.length && l && (f = !0, o.required || c || (f = !1), s || u && "submit" == u.state.action || (f = !1)),
                    d.value = this.state.value,
                    d.onChange = this.valueLink().requestChange,
                    d.className = a.utils.joinClass(this.props.className, f && "input-" + l);
                    var h = d[p];
                    d[p] = function(e) {
                        h && h(e),
                        t.verify(!0)
                    }
                }
                return "textarea" == n && (d.value = d.html || d.value, delete d.defaultValue, delete d.children),
                r.createElement("label", null, "textarea" == n ? r.createElement("textarea", d) : r.createElement("input", d), "textarea" != n && r.createElement("span", null, this.props.text), r.createElement(g, {
                    field: this
                }))
            }
        }),
        u.select = r.createClass({
            mixins: [s.childComponents.setParents([u["input-group"], u.form])],
            getInitialState: function() {
                return {
                    dirty: !1,
                    valid: !0,
                    rules: p.call(this),
                    value: this.props.defaultValue
                }
            },
            getDefaultProps: function() {
                return {
                    type: "select"
                }
            },
            componentDidMount: function() {
                s.childComponents.getParentComponent.call(this),
                w.getChildComponents(this),
                this.changeEvent = a.utils.addEventQueue.call(this, "onChange"),
                this.verifyEvent = a.utils.addEventQueue.call(this, "onVerify"),
                this.refs.wrap.$handle = this,
                this.forceUpdate()
            },
            verify: function(t, e) {
                var n = this.state.parentComponent;
                n && n.setState({
                    dirty: !0
                });
                var i = h.call(this, t, e);
                return this.verifyEvent.complete(i),
                i
            },
            valueLink: function t() {
                var e = this,
                n = this.props.valueLink,
                i = n && n.value;
                n && i !== this.state.value && void 0 != i && (this.state.value = i, window.setTimeout(function() {
                    t.requestChange(i, !0)
                },
                10));
                var t = this.state.valueLink = {
                    value: this.state.value,
                    requestChange: function(t) {
                        var i = t.target.value;
                        n && n.requestChange(i),
                        e.state.value = i,
                        e.state.status = null,
                        e.setState({
                            value: i,
                            dirty: !0
                        });
                        var a = e.state.parentComponent;
                        a && (a.state.status = null, a.state.dirty = !0),
                        e.verify.call(e, !1),
                        e.changeEvent.complete()
                    }
                };
                return t
            },
            render: function() {
                var t = this.valueLink(),
                e = Object.assign({},
                this.props, {
                    ref: "wrap",
                    value: t.value,
                    onChange: t.requestChange
                });
                delete e.defaultValue;
                var n = this.props.children;
                return n = n && n.filter(function(t) {
                    return t
                }),
                r.createElement("label", null, r.createElement("select", e, n), r.createElement(g, {
                    field: this
                }))
            }
        });
        var v = /^(text|textarea|number|email|password)$/,
        g = r.createClass({
            displayName: "VerifyStatus",
            render: function() {
                var t = this.props.field,
                e = t.state.rules,
                n = e.length,
                i = t.state.parentComponent;
                if (n) {
                    if (t.state.dirty);
                    else i && (n = "submit" == i.state.action);
                    t.state.value || e.required || (n = !1)
                }
                var a = t.state,
                o = a.novalidName,
                s = a.status,
                l = a.errortext,
                c = a.valid,
                u = a.childComponents,
                p = "",
                d = "pending" == s;
                if (n) {
                    d ? p = "loading……": c || (p = l || t.props.errortext || b[o] || "");
                    var f = i ? i.props.showicon: t.props.showicon;
                    if ("all" != f && s != f && !d) return null;
                    if ("input-group" == t.props.type) {
                        if (!t.state.valid_all) return null;
                        if (c) {
                            var h = u[0];
                            if (h && v.test(h.props.type)) return null
                        }
                    }
                }
                return n && t.state.status ? r.createElement("span", {
                    className: "nj-form-msg"
                },
                r.createElement("span", {
                    className: "nj-form-msg-" + t.state.status
                },
                p)) : null
            }
        }),
        y = {
            required: function(t) {
                return !! t
            },
            minlength: function(t, e) {
                return t && t.length >= parseInt(e)
            },
            maxlength: function(t, e) {
                return t && t.length <= parseInt(e)
            },
            email: function(t) {
                return /^\w+(?:[-+.']\w+)*@\w+(?:[-.]\w+)*\.\w+(?:[-.]\w+)*$/.test(t)
            },
            number: function(t) {
                return ! isNaN(t)
            },
            url: function(t) {
                return /^(?:http(?:s)?:\/\/)?([\w-]+\.)+[\w-]+(?:\/[\w\W]*)?$/.test(t.split(/[\?#]/)[0])
            },
            mobile: function(t) {
                return /^(13[0-9]|14[0-9]|15[0-9]|18[0-9])[0-9]{8}$/.test(t)
            },
            qq: function(t) {
                return /^\s*[.0-9]{5,10}\s*$/.test(t)
            },
            telephone: function(t) {
                return /^\d{2,5}?[-]?\d{5,8}([-]\d{0,1})?$/.test(t)
            },
            tel400: function(t) {
                return /^(400)[-]?\d{3}[-]?\d{4}$/.test(t)
            },
            idcard: function(t) {
                return /^[1-9]\d{5}[1-9]\d{3}((0\d)|(1[0-2]))(([0|1|2]\d)|3[0-1])\d{3}(?:\d|[a-zA-Z])$/.test(t)
            },
            confirm: function(t, e) {
                for (var n, i = u.input.instances,
                a = this,
                r = 0,
                o = i.length; r < o; r++) if (n = i[r].handle, n.props.name == e) return n.state.addConfirmEvent || (n.onVerify(function() {
                    a.state.status = null,
                    a.verify()
                }), n.state.addConfirmEvent = !0),
                t === n.state.value
            }
        };
        m.addRule = function(t, e, n) {
            y[t] = e,
            n && (b[t] = n)
        },
        m.verifyCode = function(t, e) {
            return t = t || "verify_img",
            e = e || "verify_refresh",
            t = document.getElementById(t),
            e = document.getElementById(e),
            t && e ? (t.onclick = function() {
                var t = this.src.split("?"),
                e = t[1] || "",
                n = /((\?|&)t=)[\d]+/;
                e = n.test(e) ? t[0] + "?" + e.replace(n, "$1" + +new Date) : "t=" + +new Date,
                this.src = t[0] + "?" + e
            },
            e.onclick = function() {
                return t.click(),
                !1
            },
            {
                refresh: function() {
                    t.click()
                }
            }) : {}
        };
        var b = {
            required: "不能为空",
            email: "邮箱格式错误",
            mobile: "手机号码格式错误",
            url: "url格式错误",
            confirm: "2次输入不一致"
        },
        w = new c({
            elementGroups: {
                form: {
                    children: ["input-group", "input", "select"],
                    component: u.form
                },
                "input-group": {
                    children: ["input", "select"],
                    component: u["input-group"]
                },
                input: {
                    component: u.input
                },
                select: {
                    component: u.select
                }
            },
            exports: e
        });
        w.start(),
        m.fill = function(t) {
            t = t || {};
            var e, n, i, a, r = l(t.form || document.forms[0]),
            o = t.data;
            if (r.length && "object" == l.type(o)) for (e in o) if (n = r.find('[name="' + e + '"]'), n.length) {
                i = n[0].type,
                a = o[e];
                var s, c = n[0].$handle;
                "radio" == i ? (s = n.filter('[value="' + a + '"]'), s.attr("checked", "checked"), c && c.setState({
                    value: a
                },
                function(t) {
                    return c.verify(!1)
                })) : "checkbox" == i && "array" == l.type(a) ? l.each(a,
                function(t, e) {
                    s = n.filter('[value="' + e + '"]'),
                    c = s[0].$handle,
                    c && c.setState({
                        value: e
                    },
                    function(t) {
                        return c.verify(!1)
                    }),
                    s.click()
                }) : "string" != typeof a && "number" != typeof a || (n.val(a), c && c.setState({
                    value: a
                },
                function(t) {
                    return c.verify(!1)
                }))
            } else t.always && r.append('<input name="' + e + '" type="hidden" value="' + o[e] + '" />')
        },
        m.parse = function(t, e) {
            if (t && t.length) {
                var n, i = t.find("form"),
                a = "form" == t[0].tagName.toLowerCase() ? t: i.length ? i: null;
                if (e = e || "string", a) n = a.serialize();
                else for (var r = t.find("input,textarea,select,button"), o = 0, s = r.length, n = {}; o < s; o++) r[o].name && (n[r[o].name] = r[o].value);
                return n
            }
        },
        m.post = function(t) {
            t = t || {};
            var e = t.form,
            n = !e;
            n && (e = l('<form action="" method="post"></form>').appendTo(document.body)[0]);
            var i = "iframe_" + +new Date,
            a = l('<iframe src="" name="' + i + '" style="display:none"></iframe>').appendTo(document.body),
            r = "jsoncallback_" + +new Date,
            o = l.extend(!0, t.data, {
                jsoncallback: r
            });
            m.fill({
                form: l(e),
                data: o,
                always: !0
            }),
            t.url && (e.action = t.url),
            e.method = "post",
            e.target = i,
            window[r] = function(i) {
                t.success && t.success.call(t, i);
                try {
                    delete window[r]
                } catch(t) {
                    window[r] = null
                }
                a.remove(),
                n && l(e).remove(),
                a = null
            },
            t.beforeSend && t.beforeSend.call(t),
            e.submit()
        }
    },
    196 : function(t, e, n) {
        "use strict";
        function i(t) {
            this.options = t = t || {},
            this.scroll = t.scroll || r,
            this.area = t.area || (this.scroll[0] === window ? o: this.scroll),
            this.attr = t.attr || "data-lazyload",
            this.offset = t.offset || 80,
            this.init()
        }
        var a = n(6),
        r = a(window),
        o = a(document);
        i.prototype = {
            init: function() {
                var t, e = this;
                this.scroll.off("scroll.lazyload resize.lazyload").on("scroll.lazyload resize.lazyload",
                function() {
                    clearTimeout(t),
                    t = setTimeout(function() {
                        e.load()
                    },
                    15)
                }),
                this.load()
            },
            load: function(t, e) {
                function n(a) {
                    r = t.eq(a),
                    r.length && (s = r.attr(u.attr), s && (e ? i(r, s) : (u.scroll[0] !== window && (p.top = 0), o = r.offset().top - d, l = r.outerHeight() + o < p.top - u.offset, c = o > p.top + p.height + u.offset, l || c || i(r, s))), a++, setTimeout(function() {
                        n(a)
                    },
                    10))
                }
                function i(t, e) {
                    t.off("load.lazyload error.lazyload").on("load.lazyload error.lazyload",
                    function() {
                        u.options.onload && u.options.onload.call(this),
                        a(this).off("load.lazyload error.lazyload")
                    }),
                    t.attr("src", e).removeAttr(u.attr)
                }
                if (t = t || this.area.find("img[" + this.attr + "]"), !t.length && a.isReady) return void this.scroll.off("scroll.lazyload resize.lazyload");
                var r, o, s, l, c, u = this,
                p = this.position(),
                d = this.scroll[0] === window ? 0 : this.scroll.offset().top;
                n(0)
            },
            position: function() {
                var t = this.scroll;
                return {
                    width: t.width(),
                    height: t.innerHeight(),
                    top: t.scrollTop(),
                    left: t.scrollLeft()
                }
            }
        },
        t.exports = i
    },
    198 : function(t, e, n) {
        "use strict";
        function i(t, e) {
            return t = t < 0 ? 0 : t,
            t = t > e ? t % e: t
        }
        var a = n(12),
        r = a.React,
        o = a.ReactDOM,
        s = a.mixins,
        l = n(6),
        c = n(101).
    default;
        n(199);
        var u = r.createClass({
            displayName: "Scroll",
            mixins: [s.childComponents.config],
            getDefaultProps: function() {
                return {
                    direction: "y",
                    children: []
                }
            },
            getInitialState: function() {
                var t = this.props,
                e = t.step,
                n = void 0 === e ? 1 : e,
                i = t.time,
                a = t.repeat,
                r = void 0 === a || a,
                o = t.auto,
                s = void 0 === o || o;
                return n = parseInt(n),
                {
                    step: n,
                    time: i || (n ? 6e3: 30),
                    repeat: r,
                    auto: s,
                    index: 0,
                    size: {},
                    scrollLength: 0
                }
            },
            componentDidMount: function() {
                var t = this;
                this.scrollEvent = a.utils.addEventQueue.call(this, "onScroll"),
                this.scrollEndEvent = a.utils.addEventQueue.call(this, "onScrollEnd");
                var e = this.state.page;
                e && (this.onScrollEnd(function(e) {
                    return t.start()
                }), e.forceUpdate()),
                f.getChildComponents(this),
                this.props.computed && l(window).on("resize",
                function() {
                    t.reset()
                }),
                setTimeout(function() {
                    t.reset();
                    var e = t.state,
                    n = e.length,
                    i = e.view,
                    a = e.step,
                    r = e.size,
                    o = e.itemsComponent;
                    if (! (n <= i)) {
                        var s = n % i;
                        s && t.append(0, a ? i - s: i);
                        var c = t.props.direction;
                        "y" == c && (r.total = l(o.refs.items).height()),
                        t.start();
                        var u = l(o.refs.wrap);
                        if (u.hover(function() {
                            t.stop()
                        },
                        function() {
                            t.start()
                        }), screen.width <= 640) {
                            var p = "y" == c ? "swipeDown": "swipeRight",
                            d = "y" == c ? "swipeUp": "swipeLeft";
                            u[p](function() {
                                return t.scroll(!1),
                                !1
                            }),
                            u[d](function() {
                                return t.scroll(),
                                !1
                            })
                        }
                    }
                },
                1)
            },
            append: function(t, e) {
                var n = this.state,
                i = n.repeat,
                a = n.length,
                r = n.size,
                o = n.itemsComponent;
                if (i) {
                    var s, l, c = o.props,
                    u = c.children,
                    p = c._children,
                    d = a - t,
                    f = p,
                    h = [];
                    e > d && (s = u.slice(t), f && u.forEach(function(e, n) {
                        n >= t && h.push(n)
                    }), t = 0, e -= s.length),
                    l = u.slice(t, t + e),
                    f && u.forEach(function(n, i) {
                        i >= t && i < t + e && h.push(i)
                    }),
                    s ? Array.prototype.push.apply(s, l) : s = l;
                    var m = this.state.totalLength;
                    Array.prototype.push.apply(u, s),
                    this.state.totalLength = u.length,
                    "x" == this.props.direction && (r.total = this.state.totalLength * r.item),
                    this.setState({
                        size: r
                    }),
                    o.setState({
                        children: u
                    },
                    function(t) {
                        f && h.forEach(function(t) {
                            o.refs["item" + m].appendChild(f[t].cloneNode(!0)),
                            m++
                        })
                    })
                }
            },
            start: function() {
                var t = this,
                e = this.state,
                n = e.auto,
                i = e.length,
                a = e.view,
                r = e.time;
                n && i > a && (clearInterval(this.delay), this.delay = setInterval(function() {
                    t.scroll()
                },
                r))
            },
            stop: function() {
                this.delay = clearInterval(this.delay)
            },
            reset: function() {
                var t = this.props,
                e = (t.computed, t.direction),
                n = t.step,
                i = this.state.itemsComponent,
                a = "x" == e,
                r = l(i.refs.wrap),
                o = l(i.refs.items),
                s = l(i.refs.item0),
                c = this.state.size = {
                    box: a ? r.width() : r.height(),
                    total: a ? null: o.height(),
                    item: a ? s.outerWidth(!0) : s.outerHeight(!0)
                };
                a && (c.total = this.state.totalLength * c.item),
                this.state.view = Math.ceil(c.box / c.item),
                "view" == n && (this.state.step = this.state.view),
                this.setState({
                    size: c
                }),
                i.forceUpdate()
            },
            scroll: function(t) {
                var e, n = this,
                r = this.state,
                s = r.size,
                c = r.step,
                u = r.scrollLength,
                p = r.totalLength,
                d = r.length,
                f = r.view,
                h = r.itemsComponent;
                "number" == typeof t ? e = i(t, d) : t = t !== !1,
                void 0 !== t && this.start();
                var m = l(h.refs.wrap),
                v = this.props.direction;
                m.stop();
                var g = a.utils.elementInDOM(o.findDOMNode(this));
                if (!g) return this.stop(),
                void m.stop();
                var y, b, w = 0,
                x = (s.total - s.box, "x" == v ? "scrollLeft": "scrollTop"),
                E = {},
                C = m[x](),
                k = t ? 1 : -1;
                if (0 == c ? y = 1 : (y = c * s.item, w = 800), c) {
                    if (y *= k, !t && u < c && "undefined" == typeof e) {
                        var j = p - (u + d);
                        j < f && (this.append(p % d, f - j), p = this.state.totalLength),
                        m[x](m[x]() + s.item * d),
                        u += d
                    }
                    u += k * c
                } else u = Math.floor(C / s.item);
                this.state.index = u % d,
                "undefined" == typeof e ? (E[x] = "+=" + y, this.state[x] = b = C + k * y) : (u = e, this.state.index = e, E[x] = this.state[x] = b = C = s.item * e),
                this.state.scrollLength = u,
                this.state.endIndex = i(this.state.index + f - 1, d),
                m.animate(E, w, "easeOutExpo",
                function() {
                    if (b >= d * s.item) {
                        var t = c ? s.item * n.state.index: 0;
                        m[x](t),
                        u = n.state.scrollLength = n.state.index = c ? n.state.index: t
                    }
                    var e = p - u - f;
                    e < f && n.append(i(n.state.endIndex + e + 1, d), f - e),
                    n.scrollEndEvent.complete()
                }),
                this.state.childComponents.forEach(function(t) {
                    t.forceUpdate()
                }),
                this.scrollEvent.complete(this.state.index)
            },
            render: function() {
                var t = this.props,
                e = t.className,
                n = t.children;
                return e = a.utils.joinClass("nj-scroll", e),
                r.createElement("div", {
                    className: e
                },
                n)
            }
        });
        u.PropTypes = {
            step: r.PropTypes.number,
            time: r.PropTypes.number,
            pageTemplate: r.PropTypes.func
        };
        var p = r.createClass({
            displayName: "ScrollItems",
            mixins: [s.childComponents.setParents([u])],
            getInitialState: function() {
                return {}
            },
            componentDidMount: function() {
                f.getChildComponents(this);
                var t = this.state.parentComponent;
                t.state.totalLength = t.state.length = this.props.children.length,
                t.state.itemsComponent = this;
                var e = t.props,
                n = e.direction,
                i = e.computed,
                a = e.view,
                r = void 0 === a ? 1 : a,
                o = "x" == n,
                s = {
                    display: o ? "inline-block": "block"
                };
                if (i) {
                    var c, u = l(this.refs.wrap);
                    o ? (c = u.width() / r, s.width = c, s.height = c / i) : (c = u.height() / r, s.width = c * i, s.height = c)
                }
                this.setState({
                    itemStyle: s
                })
            },
            render: function() {
                var t = this.state,
                e = t.parentComponent,
                n = t.itemStyle,
                i = e.props.direction,
                o = "x" == i,
                s = this.props,
                l = s.children,
                c = s.className;
                c = a.utils.joinClass("nj-scroll-item clearfix", c);
                var u = e.state.size;
                return r.createElement("div", {
                    ref: "wrap",
                    className: "nj-scroll-wrap"
                },
                r.createElement("div", {
                    ref: "items",
                    className: "nj-scroll-items clearfix",
                    style: o ? {
                        width: u.total
                    }: {}
                },
                l.map(function(t, e) {
                    return r.createElement("span", {
                        className: c,
                        ref: "item" + e,
                        key: e,
                        style: n
                    },
                    t)
                })))
            }
        }),
        d = r.createClass({
            displayName: "ScrollPage",
            mixins: [s.childComponents.setParents([u])],
            getDefaultProps: function() {
                return {
                    pages: 0
                }
            },
            handleClick: function(t) {
                var e = this.state.parentComponent;
                e.stop(),
                e.scroll(t)
            },
            componentDidMount: function() {
                f.getChildComponents(this);
                var t = this.state.parentComponent;
                t.state.page = this
            },
            render: function() {
                for (var t = this,
                e = this.state.parentComponent,
                n = e.state,
                i = n.length,
                o = n.index,
                s = [], l = 0; l < i; l++) s.push(l + 1);
                var c = this.props,
                u = c.trigger,
                p = c.className,
                d = this.props.template || e.props.pageTemplate;
                return r.createElement("div", {
                    className: "nj-scroll-page " + p
                },
                r.createElement("div", {
                    className: "-page-inner"
                },
                s.map(function(e, n) {
                    var i = "function" == typeof d && d.call(t, n),
                    s = i || e,
                    l = {
                        ref: "item" + n,
                        className: a.utils.joinClass("-page-item", e - 1 == o && "-page-active"),
                        key: e
                    };
                    return "string" == typeof i && (l.dangerouslySetInnerHTML = {
                        __html: i
                    },
                    s = null),
                    l["hover" == u ? "onMouseEnter": "onClick"] = t.handleClick.bind(t, e - 1),
                    r.createElement("span", l, s)
                })))
            }
        });
        d.PropTypes = {
            pages: r.PropTypes.number
        };
        var f = new c({
            elementGroups: {
                scroll: {
                    children: ["scroll-items", "scroll-page"],
                    component: u
                },
                "scroll-items": {
                    component: p,
                    wrapItem: function(t, e, n) {
                        return t.refs["item" + n]
                    }
                },
                "scroll-page": {
                    component: d
                }
            },
            exports: e
        });
        f.start()
    },
    199 : function(t, e, n) {
        "use strict";
        function i(t) {
            return "tagName" in t ? t: t.parentNode
        }
        function a(t, e, n, i) {
            var a = Math.abs(t - e),
            r = Math.abs(n - i);
            return a >= r ? t - e > 0 ? "Left": "Right": n - i > 0 ? "Up": "Down"
        }
        function r() {
            p = null,
            f.last && (f.el.trigger("longTap"), f = {})
        }
        function o() {
            p && clearTimeout(p),
            p = null
        }
        function s() {
            l && clearTimeout(l),
            c && clearTimeout(c),
            u && clearTimeout(u),
            p && clearTimeout(p),
            l = c = u = p = null,
            f = {}
        }
        var l, c, u, p, d = n(6),
        f = {},
        h = 750; !
        function() {
            var t, e;
            d(document).on("touchstart",
            function(n) {
                n = n.originalEvent ? n.originalEvent: n,
                t = Date.now(),
                e = t - (f.last || t),
                f.el = d(i(n.touches[0].target)),
                l && clearTimeout(l),
                f.x1 = n.touches[0].pageX,
                f.y1 = n.touches[0].pageY,
                e > 0 && e <= 250 && (f.isDoubleTap = !0),
                f.last = t,
                p = setTimeout(r, h)
            }).on("touchmove",
            function(t) {
                t = t.originalEvent ? t.originalEvent: t,
                o(),
                f.x2 = t.touches[0].pageX,
                f.y2 = t.touches[0].pageY,
                Math.abs(f.x1 - f.x2) > 10
            }).on("touchend",
            function(t) {
                t = t.originalEvent ? t.originalEvent: t,
                o(),
                f.x2 && Math.abs(f.x1 - f.x2) > 30 || f.y2 && Math.abs(f.y1 - f.y2) > 30 ? u = setTimeout(function() {
                    f.direction = a(f.x1, f.x2, f.y1, f.y2),
                    f.el.trigger("swipe", f),
                    f.el.trigger("swipe" + f.direction, f),
                    f = {}
                },
                0) : "last" in f && (c = setTimeout(function() {
                    var t = d.Event("tap");
                    t.cancelTouch = s,
                    f.el.trigger(t),
                    f.isDoubleTap ? (f.el.trigger("doubleTap"), f = {}) : l = setTimeout(function() {
                        l = null,
                        f.el.trigger("singleTap"),
                        f = {}
                    },
                    250)
                },
                0))
            }).on("touchcancel", s),
            d(window).on("scroll", s)
        } (),
        ["swipe", "swipeLeft", "swipeRight", "swipeUp", "swipeDown", "doubleTap", "tap", "singleTap", "longTap"].forEach(function(t) {
            d.fn[t] = function(e) {
                return this.on(t, e)
            }
        })
    }
});